home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung CD 2 (Tewi)(1994).iso / doc / graphdoc / video7.txt < prev    next >
Text File  |  1994-01-18  |  17KB  |  458 lines

  1.   Video 7 Super VGA.
  2.   Bought by Headland Technologies in
  3.   Bought by SPEA Software AG in 1993.
  4.  
  5.     Earlier V7/Headland boards use Chips&Technologies and Cirrus chips.
  6.  
  7.     Board:    Chip:
  8.     V7VRAM    HT-208
  9.     V71024i   HT-208
  10.       ?       HT-216           
  11.  
  12. Board:      Chip:                     Features:
  13.  
  14. VGA-16
  15. VRAM I                                Hardware Cursor
  16. VRAM II     HT-208 rev B,C or D       Split Bank
  17. VGA16       HT-216
  18. 1024i       HT-216
  19.  
  20.  
  21.  
  22. 100h (R/W?): Microchannel ID low
  23. bit 0-7  Card ID bit 0-7
  24.  
  25. 101h (R/W?): Microchannel ID high
  26. bit 0-7  Card ID bit 8-15
  27.  
  28. 102h (R/W): Alt Video Subsystem Enable
  29. bit 0  Enable Video if set. Must be armed by 3C4h index 0FCh bit 7
  30.        or in setup mode (46E8h bit4) to change.
  31.  
  32. 3C2h (W): Misc Output register
  33. bit 5  Bit 1 of Bank no.
  34. Note:  This register can be read at 3CCh.
  35.  
  36. 3C3h (R/W): Video Subsystem Enable
  37. bit 0  Enable Microchannel Video if set
  38.        Must be armed by 3C4h index 0FCh bit 7 to change.
  39.  
  40. 3C4h index  6  (R/W):  Extension Control
  41. bit   0  (Read Only) Extensions enabled if set
  42. bit 0-7  (Write Only) 0EAh Enables extensions, 0AEh disables.
  43.  
  44. 3C4h index  7  (R/W):  Reset Horizontal Character Counter
  45.  
  46. 3C4h index  Bh (R/W):  CA1 ??
  47. bit   0  If set the CA1 port is an output with the state  from bit 1,
  48.          if clear the port is an input. The state is returned in bit 1.
  49.       1  Data pin for CA1. Usually connected to 8/6 pin on DAC
  50. Note: Some sort of access to index 0D0h is needed to enable the port.
  51.  
  52. 3C4h index 80h (R/W):  Test
  53.  
  54. 3C4h index 81h (R/W):  Test
  55.  
  56. 3C4h index 82h (R/W):  Test
  57.  
  58. 3C4h index 83h (R/W):  Attribute Control Index
  59.  
  60. 3C4h index 8Eh W(R):  Chip Version
  61. bit 0-15  Chip version. Index 8Fh is the major version, and 8Eh is the minor.
  62.           Originally this was probably for two different chips.
  63.             8xxxh-FFFFh  VEGA VGA Chip
  64.                   70xxh  HT208 chip rev. 1,2 or 3 (VRAM I/VGA-16)
  65.                   714xh  HT208 chip rev A (VRAM II ?)
  66.                   7151h  HT208 chip rev B (VRAM II)
  67.                   7152h  HT208 chip rev C or D (VRAM II)
  68.                   7760h  HT216 rev B or C
  69.                   7763h  HT216 rev B, C or D  (huh ??)
  70.                   7764h  HT216 rev E
  71.                   7765h  HT216 rev F
  72.  
  73. 3C4h index 94h (R/W):  Pointer Pattern Address
  74. bit 0-7  Start address of the Pointer Pattern. This value selects the 256 byte
  75.          block within the last 64k of the 256k block selected by index 0FFh
  76.          bits 5-6.
  77.          The cursor map consists of two 32x32 bitmaps. The first is the AND
  78.          mask and the second is the XOR mask.
  79.             AND     XOR
  80.              0       0
  81.              0       1      Inverse screen data
  82.              1       0      Screen data
  83.              1       1
  84.  
  85. 3C4h index 9Ch (R/W):  Pointer Horizontal Position High
  86. bit 0-2  Bit 8-10 of the X co-ordinate of the Cursor
  87.  
  88. 3C4h index 9Dh (R/W):  Pointer Horizontal Position Low
  89. bit 0-7  Bit 0-7 of the X co-ordinate of the Cursor
  90.  
  91. 3C4h index 9Eh (R/W):  Pointer Vertical Position High
  92. bit 0-1  Bit 8-9 of the Y co-ordinate of the Cursor
  93.  
  94. 3C4h index 9Fh (R/W):  Pointer Vertical Position Low
  95. bit 0-7  Bit 0-7 of the Y co-ordinate of the Cursor
  96.  
  97. 3C4h index A0h (R/W):  GC Memory Latch 0
  98. bit 0-7  Plane 0 Memory Latch Data
  99.  
  100. 3C4h index A1h (R/W):  GC Memory Latch 1
  101. bit 0-7  Plane 1 Memory Latch Data
  102.  
  103. 3C4h index A2h (R/W):  GC Memory Latch 2
  104. bit 0-7  Plane 2 Memory Latch Data
  105.  
  106. 3C4h index A3h (R/W):  GC Memory Latch 3
  107. bit 0-7  Plane 3 Memory Latch Data
  108.  
  109. 3C4h index A4h (R/W):  Clock Select
  110. bit 2-4  0: 25.175 MHz
  111.          1: 28.322 MHz
  112.          2: 30.000 MHz
  113.          3: 32.514 MHz
  114.          4: 34.000 MHz
  115.          5: 36.000 MHz
  116.          6: 38.000 MHz
  117.          7: 40.000 MHz    
  118.  
  119. 3C4h index A5h (R/W):  Cursor Attributes
  120. bit 0  Cursor blink enabled if clear
  121.     3  Text Cursor Mode is XOR if set, Replace if clear
  122.     7  Hardware Graphics Cursor Enabled if set
  123.  
  124. 3C4h index B0h-BFh (R/W):  Scratch Registers
  125. bit 0-7  Scratch
  126.  
  127. 3C4h index C1h (R/W):
  128. bit   0  Set to enable 8bit DAC rather than 6bit.
  129.  
  130. 3C4h index C8h (R/W):  XMISCCTL2
  131. bit   0  Set to enable MOVSB operation ??    (HT216 only)
  132.  
  133. 3C4h index CDh (R/W):  XALU CONTROL
  134. bit   5  If set RMW cycles are enabled.
  135.  
  136. 3C4h index CEh (R/W): XALU
  137.  
  138. 3C4h index E0h (R/W):  Miscellaneous Control      (Version 4+)
  139. bit 0-3  Reserved
  140.       4  Interlaced
  141.     5-6  Reserved
  142.       7  Enables Split Bank Mode (VRAM II or HT216 only)
  143.  
  144. 3C4h index E8h (R/W):  Single/Write Bank Register (Version 4+)
  145. bit 4-7  Single/Write Bank no.
  146.  
  147. 3C4h index E9h (R/W):  Read Bank Register         (Version 4+)
  148. bit 4-7  Read Bank no.
  149.          Only Active if Split mode enabled (3C4h index E0h bit 7)
  150.  
  151. 3C4h index EAh (W): Switch Strobe
  152. Note:  A write to this register copies the switch positions to
  153.        the Switch Readback Register (3C4h index F7h).
  154.  
  155. 3C4h index EBh (R/W):  Emulation Control
  156.  
  157. 3C4h index ECh (R/W):  Foreground Latch 0
  158. bit 0-7  Foreground Latch for plane 0. When in Dither Foreground mode
  159.          (3C4h index FEh bit 2-3 = 2) the data in this register
  160.          replaces the data written from the processor.
  161.  
  162. 3C4h index EDh (R/W):  Foreground Latch 1
  163. bit 0-7  Foreground Latch for plane 1.
  164.  
  165. 3C4h index EEh (R/W):  Foreground Latch 2
  166. bit 0-7  Foreground Latch for plane 2.
  167.  
  168. 3C4h index EFh (R/W):  Foreground Latch 3
  169. bit 0-7  Foreground Latch for plane 3.
  170.  
  171. 3C4h index F0h (R/W):  Fast Foreground Latch Load
  172. bit 0-7  The Foreground Latches (3C4h index ECh to EFh) for the four
  173.          memory planes can be loaded by writing to this register.
  174.          The writes will cycle through planes 0-3.
  175.          A read will restart at plane 0.
  176.  
  177. 3C4h index F1h (R/W):  Fast Latch Load State
  178. bit 0-1  Background Latch Load State. Determines which of the
  179.          four memory latches will be loaded by a write to 3C4h
  180.          index F2h. Each write to index F2h will increment this
  181.          value and each read from index F2h will reset it to 0.
  182.     2-3  Unused
  183.     4-5  Foreground Latch Load State. Determines which of the
  184.          four Foreground latches (3C4h index ECh to EFh) will
  185.          be loaded by the next write to 3C4h index F0h.
  186.          Each write to index F0h will increment this value
  187.          and each read from index F0h will reset it to 0.
  188.     6-7  Unused
  189.  
  190. 3C4h index F2h (R/W):  Fast Background Latch Load
  191. bit 0-7  The Memory Data Latches for the four memory planes can be
  192.          loaded by writing to this register. The writes will cycle
  193.          through planes 0-3. A read will restart at plane 0.
  194.  
  195. 3C4h index F3h (R/W):  Masked Write Control   (Only with VRAM)
  196. bit   0  Enables Masked Writes if set
  197.       1  If set rotated CPU byte is used as WriteMask, else
  198.          Masked Write Mask register is used.
  199.  
  200. 3C4h index F4h (R/W):  Masked Write Mask      (Only with VRAM)
  201. bit 0-7  If Masked Writes enabled by 3C4h index F3h bit 0
  202.          Only the bits set here will be updated in Video memory.
  203.  
  204. 3C4h index F5h (R/W): Foreground/Background Pattern
  205. bit 0-7
  206.  
  207. 3C4h index F6h (R/W):  1MB RAM Bank Select
  208. bit 0-1  Write Bank no bit 2-3 if 256 color, bit 0-1 else.
  209.     2-3  Read Bank no bit 2-3 if 256 color, bit 0-1 else.
  210.     4-5  CRTC Bank (Address bit 16-17)
  211.       6  Display address Wraps Around at bank boundary if set
  212.       7  Split Screen Wraps around at bank boundary if set
  213.  
  214. 3C4h index F7h (R/W):  Switch Readback
  215. bit 0-7  Switch positions as read by the last write to the Switch
  216.          Strobe Register (3C4h index EAh)
  217.  
  218. 3C4h index F8h (R/W):  Extended Clock Control
  219. bit 5-7  Clock Source:
  220.            0: 25.175 MHz
  221.            1: 28.322 MHz
  222.            2: 30.000 MHz
  223.            3: 32.514 MHz
  224.            4: 34.000 MHz
  225.            5: 36.000 MHz
  226.            6: 38.000 MHz
  227.            7: 40.000 MHz
  228. Note: depending on mode and other bits in this register other
  229.       values may be selected.
  230.  
  231. 3C4h index F9h (R/W):  Page Select
  232. bit   0  bit 16 of Video Memory Address. (Only needed if in a
  233.          256 color mode, and 3C4h index FCh bit 1-2 = 1).
  234.  
  235. 3C4h index FAh (R/W):  Extended Foreground Color
  236. bit 0-3  Foreground expansion color.
  237.          Bit 0 is written to plane 0 et cetera.
  238.  
  239. 3C4h index FBh (R/W):  Extended Background Color
  240. bit 0-3  Background expansion color
  241.          Bit 0 is written to plane 0 et cetera.
  242.  
  243. 3C4h index FCh (R/W):  Compatibility Control
  244. bit   0  Enable Extended Attribute functions if set
  245.          Extended attributes allows underlining using a mask
  246.          in plane 3 for each character.
  247.       1  256-Color Paging Enabled if set.
  248.       2  256-Color 64K/128K paging Select.
  249.          128K pages if set, 64K pages else.
  250.     3-4  Reserved.
  251.       5  Enables sequential chain4 mode if set ??
  252.       6  Reserved.
  253.       7  If set allows enabling VGA via 102h bit 0 or 3C3h bit 0.
  254.  
  255. 3C4h index FDh (R/W):  Extended Timing Select
  256.  
  257. 3C4h index FEh (R/W):  Foreground/Background Control
  258. bit   0  Unused
  259.       1  Foreground/background source select
  260.          Source is CPU data if set, 3C4h index F5h else.
  261.     2-3  Foreground/background mode select
  262.            0  Standard VGA mode
  263.            1  Color Expansion Mode
  264.               A monochrome bitmap is expanded to color.
  265.               For each bit of data written from the processor
  266.               a zero bit causes the background color (3C4h index FBh)
  267.               to be written in the corresponding pixel, and a 1 bit
  268.               causes the ForeGround color (3C4h index FAh) to be written.
  269.            2  Dithered ForeGround. The data from the processor is
  270.               replaced by data from four Foreground Latches (3C4h index
  271.               ECh to EFh). The normal VGA Read Latches function as normal.
  272.            3  Invalid
  273.     4-7  Unused
  274.  
  275. 3C4h index FFh (R/W):  16 bit Interface Control
  276. bit   0  16 bit memory if set
  277.       1  16 bit I/O if set
  278.       2  Fast Write Enabled if set
  279.       3  16 bit ROM access if set
  280.       4  Enable bank selection
  281.     5-6  Cursor Pattern Page Select
  282.          Select which 256k bank the cursor pattern is in.
  283.       7  (Read only) Card in 8 or 16 bit slot
  284.  
  285. 3d4h index 1Fh (R):  Identification register
  286. bit 0-7  Returns bit 0-7 of the Start Address High Register
  287.          (3d4h index 0Ch) XORed with 0EAh.
  288.  
  289. 3d4h index 22h (R):  Graphics Controller Data Latch
  290. bit 0-7  Data from one of 4 bit-planes selected through the
  291.          RMS field of the Read Map Select Register (3CEh index 4)
  292.  
  293. 3d4h index 24h (R):  Graphics Controller Data
  294. bit 0-4  Attribute Index. Same as 3C1 bit 0-4.
  295.       5  Palette source.  Same as 3C1h bit 5
  296.       7  Does the Attribute Controller point to Index or Data .
  297.  
  298. 3d4h index 30h-3Fh (W):  Clear Vertical Display
  299. bit   0  if set speeds up video memory access by increasing the
  300.          vertical Retrace Period.
  301.  
  302.  
  303. 46E8h (W):  ROM Map & Video Subsystem
  304. bit 0-2  Enable VGA PC/AT
  305.       3  Enable VGA PC/AT if set
  306.       4  Enter VGA Setup Mode if set
  307.          In Setup Mode only registers 102h, 3C3h and 46E8h
  308.          are active.
  309.  
  310.  
  311.     4BC4h,4BC5 used.
  312.  
  313.  
  314.   Bank Select:
  315.  
  316.     Two methods exists:
  317.  
  318.     All models can use method 1:
  319.       For 2 and 4 color modes bit 16 of the address is in 3C2h bit 5.
  320.  
  321.       For 16 color modes separate read and write banks can be selected
  322.       through 3C4h index F6h.
  323.  
  324.       For 256 color modes the bank fields in 3C4h index F6h select
  325.       bit 18&19 of the video memory address.
  326.       Bit 16 is selected through 3C4h index F9h bit 0.
  327.       Bit 17 is selected through Miscellaneous Output Register
  328.              (3C2h/3CCh bit 5).
  329.       Bit 16&17 are shared by read and write operations.
  330.  
  331.     For Version 5 and above separate bank registers are available.
  332.     Both read and write banks exists.
  333.  
  334.  
  335.   ID Video 7 VGA Chip Set:
  336.  
  337.     vio($6F00);
  338.     if rp.bx=$5637 then
  339.     begin
  340.       vio($6F07);
  341.       SubVers:=(rdinx($3C4,$8F) shl 8) + rdinx($3C4,$8E);
  342.       case SubVers of
  343.      $8000..$FFFF:VEGA_VGA;
  344.      $7000..$70FF:HT208 version 1-3
  345.      $7140..$714F:HT208 rev A;
  346.             $7151:HT208 rev B
  347.             $7152:HT208 rev CD
  348.             $7760:HT216 rev BC
  349.             $7763:HT216 rev D
  350.             $7764:HT216 rev E
  351.             $7765:HT216 rev F
  352.       end;
  353.     end;
  354.  
  355.  
  356.   Video Modes:
  357.     40h  T   80   43   2
  358.     41h  T  132   25   2
  359.     42h  T  132   43   2
  360.     43h  T   80   60  16
  361.     44h  T  100   60  16
  362.     45h  T  132   28  16
  363.  
  364.     60h  G  752  410  16  PL4
  365.     61h  G  720  540  16  PL4
  366.     62h  G  800  600  16  PL4
  367.     63h  G 1024  768   2  PL1
  368.     64h  G 1024  768   4  PL2E
  369.     65h  G 1024  768  16  PL4
  370.     66h  G  640  400 256  P8    V1024 w/VRAM
  371.     67h  G  640  480 256  P8
  372.     68h  G  720  540 256  P8    VRAM only
  373.     69h  G  800  600 256  P8    VRAM only
  374.     6Ah  G 1024  768 256  P8
  375.     70h  G 1280 1024  16  PL4
  376.  
  377.  
  378.   BIOS extensions:
  379.  
  380. ----------106F00-----------------------------
  381. INT 10 - VIDEO - INSTALLATION CHECK (Video7 VGA,VEGA VGA)
  382.         AX = 6F00h
  383. Return: BX = 5637h ('V7') indicates Video7 VGA/VEGA VGA extensions are present
  384.            = 4850h ('HP') indicates HP Extended BIOS video functions present
  385. ----------106F01-----------------------------
  386. INT 10 - VIDEO - GET MONITOR INFO (Video7 VGA,VEGA VGA)
  387.         AX = 6F01h
  388. Return: AL = monitor type code (HP and VEGA VGA only) (values are for HP)
  389.               00h  non-HP card with ROM and possibly its own INT 10h driver
  390.               41h  MultiMode video display adapter
  391.               45h  standard monochrome display adapter
  392.               46h  standard color display adapter
  393.         AH = status register information
  394.              bit  0 = display enable
  395.                       0 = display enabled
  396.                       1 = vertical or horizontal retrace in progress
  397.              bit  1 = light pen flip flop set
  398.              bit  2 = light pen switch activated
  399.              bit  3 = vertical retrace if set
  400.              bit  4 = monitor resolution
  401.                       0 = high resolution (>200 lines)
  402.                       1 = low resolution (<=200 lines)
  403.              bit  5 = display type
  404.                       0 = color
  405.                       1 = monochrome
  406.              bits6,7= diagnostic bits
  407.         CL = current value of Extended Control register
  408.              (HP, and only if AL=41h)
  409. Note: bits 0-3 are the same as the EGA/VGA status register bits 0-3
  410. ----------106F02-----------------------------
  411. INT 10 - VIDEO - HP Vectra (Video7 ?) - SET MONITOR INFO
  412.         AX = 6F02h
  413.         BL = new value for extended control register
  414.              Bit 0  Screen resolution (0: 200 lines, 1: 400)
  415.                  1  Underline enable (if set 'blue' bit of ForeGround color is
  416.                     the underline bit)
  417.                  2  Font. 0: Standard-8, 1: HP-Roman-8
  418.                  3  Memory disabled for CPU access
  419.                  4  Allow access to full 32K memory rather than wrap at 16K
  420.                  5  Select 2nd 16K page rather than first
  421. ----------106F03-----------------------------
  422. INT 10 - VIDEO - HP Vectra (Video7 ?) - MODIFY MONITOR INFO
  423.         AX = 6F03h
  424.         BH = Exclude mask (set bits are not modified)
  425.         BL = new value for bits indicated in BH
  426.              Result = ((old value) and BH) or ((not BH) and BL)
  427. ----------106F04-----------------------------
  428. INT 10 - VIDEO - GET MODE AND SCREEN RESOLUTION (Video7 VGA, VEGA VGA)
  429.         AX = 6F04h
  430. Return: AL = current video mode (see AX=6F05h)
  431.         BX = horizontal columns (text) or pixels (graphics)
  432.         CX = vertical columns (text) or pixels (graphics)
  433. ----------106F05-----------------------------
  434. INT 10 - VIDEO - SET VIDEO MODE (Video7 VGA, VEGA EXTENDED EGA/VGA)
  435.         AX = 6F05h
  436.         BL = mode (see below)
  437.  
  438. Values for video mode:
  439.  00h-13h = standard IBM modes (see AH=00h)
  440.  40h-6Ah = see table above.
  441. ----------106F06-----------------------------
  442. INT 10 - VIDEO - SELECT AUTOSWITCH MODE (V7VGA,VEGA VGA)
  443.         AX = 6F06h
  444.         BL = Autoswitch mode select
  445.              00h select EGA/VGA-only modes
  446.              01h select Autoswitched VGA/EGA/CGA/MGA modes
  447.              02h select 'bootup' CGA/MGA modes
  448.         BH = enable/disable (00h enable, 01h = disable selection)
  449. ----------106F07-----------------------------
  450. INT 10 - VIDEO - GET VIDEO MEMORY CONFIGURATION (V7VGA,VEGA VGA)
  451.         AX = 6F07h
  452. Return: AL = 6Fh
  453.         AH = bits 0-6 = number of 256K blocks of video memory
  454.              bit 7    = DRAM/VRAM (0: DRAM, 1: VRAM)
  455.         BH = chip revision (SR8F) (S/C Chip in VEGA VGA)
  456.         BL = chip revision (SR8E) (G/A Chip in VEGA VGA)
  457.         CX = 0000h
  458.